package org.dreamfly.core.service;

import org.dreamfly.core.bean.SzTempVideo;
import org.dreamfly.core.bean.SzVideo;
import org.dreamfly.core.bean.SzVideoType;
import org.dreamfly.core.page.PageResultSet;

import java.util.List;


public interface VideoService {
	 
	void deleteVideo(Long id);
	
	List<SzVideo> normalSearchByType(SzVideo video,List<SzVideoType> videoTypes);
	
	/**
     * 关键字搜索
     * @param video 含有搜索信息的视频对象
	 * @param serverName TODO
     * @return 包含结果集和分页信息的数据集
     */
	PageResultSet<SzVideo> normalSearch(SzVideo video, Long pageSize, Long page, String serverName);
	
	/**
	 * 内容搜索
	 * 
	 */
	List<SzTempVideo> contentSearch(String videoDir, Long pageSize, Long page);
	
	Long findCount(String videoDir);
	/**
     * 关键字搜索指定类型的视频
     *
     * @param video 含有搜索信息的视频对象
     * @param serverName
     * @return 包含结果集和分页信息的数据集
     */
	PageResultSet<SzVideo> normalSearchByType(SzVideo video, List<Long> szVideoTypeIds,
                                              Long pageSize, Long page, String serverName);
	
	/**
	 * 保存或更新视频
	 * @param video 需要修改的视频
	 */
	void saveOrUpdate(SzVideo video);
	
	/**
	 * 根据id获取视频对象
	 * 
	 */
	SzVideo findDetail(Long id);
    void addVideoInfo(SzVideo video);
	void changeType(Long videoId, Long videoTypeId, String disrate);
}
